//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _ComparePratt2PatternsByCATH_h__
#define _ComparePratt2PatternsByCATH_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "Pratt2PatternsByCATH.h"
#include "SearchPrositePattern.h"
#include "libraries.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class ComparePratt2PatternsByCATH { 

  private:

    float                          ComputeSimilarity (TListE <String>* listElemA,  TListE <String>* listElemB);

  protected:

    String*                        filenameOut;
    TListE <Pratt2PatternsByCATH>* listPratt2PatternsByCATH;

  public:

    ComparePratt2PatternsByCATH ();
    ComparePratt2PatternsByCATH (const ComparePratt2PatternsByCATH&);
    ComparePratt2PatternsByCATH (const ComparePratt2PatternsByCATH*);

    ~ComparePratt2PatternsByCATH ();

    void                           FilenameOut (String* filenameOut);
    void                           ListPratt2PatternsByCATH (TListE <Pratt2PatternsByCATH>* listPratt2PatternsByCATH);

    String*                        FilenameOut (void);
    TListE <Pratt2PatternsByCATH>* ListPratt2PatternsByCATH (void);

    bool                           LoadData (void);
    bool                           GetPatternsSimilarity (int positionInPatterns);
    TListE <String>*               GetExtendedPatterns (int positionInList,  int positionInPatterns);

    ComparePratt2PatternsByCATH    operator= (const ComparePratt2PatternsByCATH& comparePratt2PatternsByCATH);

};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
